home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 3_0 / JOVE_4 / JOVEDOCS / README < prev    next >
Text File  |  1988-05-07  |  9KB  |  173 lines

  1. ###########################################################################
  2. # This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE #
  3. # is provided to you without charge, and with no warranty.  You may give  #
  4. # away copies of JOVE, including sources, provided that this notice is    #
  5. # included in all the files.                                              #
  6. ###########################################################################
  7.  
  8. To make JOVE edit Makefile to set the right directories for the binaries,
  9. on line documentation, the man pages, and the TMP files and select the
  10. appropriate load command (see SEPFLAG in Makefile).  (IMPORTANT! read the
  11. Makefile carefully.)  "tune.c" will be created from "tune.template" by
  12. MAKE automatically, and it will use the directories you specified in the
  13. Makefile.  (NOTE:  You should never edit tune.c directly because your
  14. changes will be undone by the next make.  If you want to make a change to
  15. a part of tune.c that isn't a directory name, you should edit
  16. tune.template.)  Next you must edit "tune.h" selecting the compile time
  17. options you care about.  See below for a description of all the compile
  18. time options.  You can type "make" to compile XJOVE, PORTSRV (this is
  19. compiled but not used on 4.2+ systems), RECOVER TEACHJOVE, and
  20. MACVERT.  NOTE:  make won't work if it fires up /bin/csh for the shell
  21. commands.  Test them out to see if they work.  If they do, type "make
  22. install" to install everything where it belongs.
  23.  
  24. Here are some things to consider for deciding where to put the tmp files.
  25. TMPDIR is where the tmp files get stored, usually /tmp or /tmp/jove.  If
  26. your system does not remove subdirectories of /tmp on reboot (lots do
  27. remove them these days) then it makes sense to make TMPDIR be /tmp/jove.
  28. But if you want to recover buffers on system crashes, you should create a
  29. directory that doesn't get cleared upon reboot, and use that instead.
  30. You would probably want to clean out that directory periodically with
  31. /etc/cron.
  32.  
  33. For the pdp11 version there is the Ovmakefile.  This has only been tested
  34. on 2.9bsd.  It works pretty well, actually, and it is possible to turn on
  35. all the compile time options with this version.
  36.  
  37. Bug reports:  If you find bugs in JOVE I would appreciate hearing about
  38. them.  (My net address is at end of this message.)  So, send me the bug
  39. reports.  If the bug isn't already fixed, I will ask you to send me the
  40. fix.  If you haven't found the bug, I may be able to, so don't wait until
  41. you have found it.  If you make improvements to JOVE and want them
  42. incorporated into the official version, send me a message explaining what
  43. the change is, and I will decide whether I want to include it.  If it is
  44. possible for your change to be #ifdef'd in, that would be best, since I
  45. want to avoid making JOVE huge.  For instance, if it's a new package type
  46. thing (say, like word abbrev. mode, or something) then it would be best
  47. if that were a compile-time option.  I will send out periodic updates to
  48. mod.sources.  I will report all significant bug fixes there, and to
  49. net.emacs as well.
  50.  
  51. Here's a list of the compile time options and what they mean:
  52.  
  53. ABBREV       - Enables word-abbrev-mode which again is nice for paper writers.
  54.  
  55. BACKUPFILES - This enables backing up files on write.  I guess lots of
  56.           people like this feature.  It enables the feature but you
  57.           can still control whether files are backed up with the
  58.           make-backup-files variable.
  59.  
  60. BIFF       - This enables turning on and off BIFF so your screen doesn't
  61.           get messed up with messages from BIFF.
  62.  
  63. BSD4_2     - Obviously, if you're a Berkeley 4.2 system.
  64.  
  65. BSD4_3       - If you're running a Berkeley 4.3 or 2.10 system.
  66.          This will automatically define BSD4_2, also.
  67.  
  68. CHDIR       - This enables the directory commands; PUSHD, POPD, DIRS and
  69.           CD.  These simulate the csh commands exactly, I think.  As
  70.           a side-effect, absolute path names are enabled, which means
  71.           JOVE parses file names for "." and ".." and all that to get
  72.           at what you REALLY mean.  It's nicer when this is enabled,
  73.           but not essential.
  74.  
  75. CMT_FMT       - This enables code to format and indent C comments.
  76.  
  77. ID_CHAR       - Enables support for Insert/Delete character on terminals
  78.          that have those capabilities.  Couple of problems with this code:
  79.          it's large, takes up lots of I space which is a problem for the
  80.          smaller computers (pdp11).  Also, it isn't particularly smart
  81.          and sometimes does really stupid things.  It sometimes uses
  82.          insert/delete character when simply redrawing would have been
  83.          faster.  And if you look at code you'll understand why I don't
  84.          like it all that much.
  85.  
  86. IPROCS       - Nice feature which lets you run interactive UNIX commands in
  87.          windows.  In particular, there is a shell command built
  88.          in which starts up an interactive shell in a window.  This works
  89.          only on systems with JOB_CONTROL since it relies on the fancy
  90.          signal mechanism.
  91.  
  92. JOB_CONTROL - Versions of UNIX that have the job control facility.
  93.           Berkeley 2.9-10 systems, and the 4.1-3 systems I know have
  94.           job stopping, so if you're one of those, define
  95.           this.  The reason MENLO_JCL is defined when JOB_CONTROL
  96.           is that the 2.9 signal.h file only defines all of the job
  97.           stopping signals only when MENLO_JCL is defined.
  98.  
  99. LISP       - Enables Lisp Mode.  This includes code to indent "properly"
  100.          for Lisp code and new routines to move over s-expressions.
  101.          You probably won't want (or need) this on PDP-11's.
  102.  
  103. MY_MALLOC  - Use the older version of malloc that is more memory efficient
  104.          than the newer 4BSD version.  The 4BSD version places more
  105.          importance on the speed of the allocation than the amount of
  106.          memory it uses.  Make your    choice ... JOVE hardly ever calls
  107.          malloc, anyway, relatively speaking, since it allocates
  108.          lines in big chunks.  NOTE: This doesn't seem to work on suns
  109.          and the iAPX286.
  110.  
  111. PIPEPROCS  - If NOT defined, JOVE will use Berkeley pseudo-ttys when
  112.          doing interactive processes.  This is infinitely better,
  113.          since you get job control and all that stuff on i-procs.
  114.          If defined, the portsrv program will have to be made, and
  115.          all communication between jove and i-procs will be done using
  116.          pipes.
  117.  
  118. RESHAPING  - This is for BRL or Berkeley 4.3 and 2.10 systems.  When the
  119.          window size of the terminal jove is running in is changed
  120.          a SIGWINCH is sent to all processes in the tty group.  This
  121.          define enables code in jove to catch that signal and reshape
  122.          its windows.
  123.  
  124. SPELL       - Enables the spell-buffer and parse-spelling-errors commands.
  125.          They are nice especially if you have lots of paper writers.
  126.  
  127. WIRED_TERMS - Include compiled-in hard-wired code for certain terminals,
  128.          like the Concept 100.  If you don't have these terminals,
  129.          you probably don't need this (but no point in taking it
  130.          out unless you're low on space).
  131.  
  132. The macros have been rewritten from scratch.  The most noteable change is
  133. that they are no longer stored in binary files.  The write-macros-to-file
  134. command writes a file which is suitable for use with the source command.
  135. So you can have actual macro definitions in your .joverc if you want.  If
  136. you have lots of macros defined in the old format, you can use the
  137. macvert program to convert them to the new style.  You say
  138.     macvert old-style-macros-file > new-style-macro-file
  139.  
  140. "doc/system.rc" and "doc/example.rc" are jove initialization files.
  141. "system.rc" is the "system" rc file here at UoR, and it gets ready every
  142. time JOVE starts up FOR EVERYONE.  ("make install" should copy the
  143. system-wide .joverc to the right place automatically.)  After that JOVE
  144. reads an initialization file in the user's home directory.  "example.rc"
  145. is my personal .joverc.
  146.  
  147. The files "jove.[12345]" in DOC are the official JOVE manual.  I got
  148. permission from Richard Stallman to use his manual for the original EMACS,
  149. modifying it where necessary for JOVE.  Lots of work was done by Brian
  150. Harvey on this manual.
  151.  
  152. There are man pages for jove and teachjove.  Teachjove is for people who
  153. have never used EMACS style editors.  It is an interactive tutorial, THE
  154. tutorial written by Stallman for the original EMACS, only slightly
  155. modified for JOVE in the appropriate places.  The man pages are
  156. completely up to date, thanks to me.
  157.  
  158. Thanks to Jay (hack) Fenlason for writing the original pty code.
  159.  
  160. Thanks to Dave Curry at Purdue for putting in tons of time and effort
  161. into getting JOVE ready.  It just wouldn't be working without his help.
  162.  
  163. Thanks to Jeff Mc Carrell at Berkeley for finding bugs and adding
  164. features, in particular, the comment formatter.
  165.  
  166. Thanks to Karl Gegenfurtner for making the PC version.
  167.  
  168. (Thanks to Brian Harvey for teaching me about linked lists ...)
  169.  
  170. Good luck, have fun.
  171.  
  172.     Jonathan Payne (jpayne@cs.rochester.edu until '88)
  173.